package main

import (
	"fmt"
)

func creat()*student                                               //1,创建链表，并输入学生信息

func luruyuwen(head *student)*student                              //2-1-录入语文成绩

func lurushuxue(head *student)*student		                       //2-2-录入数学成绩

func luruyingyu(head *student)*student		                        //2-3-录入英语成绩

func lurulishi(head *student)*student	                        	//2-4-录入历史成绩

func luruchengxu(head *student)*student	                            //2-5-录入程序成绩
                        
func lurutiyu(head *student)*student	                            //2-6-录入体育成绩

func luru(head *student)*student	                              	//2-录入学生各科成绩

func zengjia(head *student)			                                //3-增加学生信息  

func shanchu(head *student)*student	                                //4-删除学生信息
        
func xiugai(head *student)*student		                            //5-通过姓名和学号去修改学生数据

func cxyuwen(head *student)()		                                //6-1-查询语文成绩排名

func cxshuxue(head *student)()		                                //6-2-查询数学成绩排名

func cxyingyu(head *student)()		                                //6-3-查询英语成绩排名

func cxlishi(head *student)()		                                //6-4-查询历史成绩排名

func cxchengxu(head *student)()		                                //6-5-查询程序成绩排名

func cxtiyu(head *student)()			                            //6-6-查询体育成绩排名

func cxpaiming(head *student)()	                                    //6-查询某一科的成绩排名 

func chaxunchengji(head *student)()	                                //7-查询学生成绩

func bujige(head *student)()		                               	//8-统计所有不及格科目超过两科的学生名单

func put(head *student)			                                    //9-输出学生信息


func main(){
	var head *student
	var a int
	fmt.Println("欢迎使用我的学生成绩管理系统")
	fmt.Println("1--------录入学生基本信息")
	fmt.Println("1--------录入学生单科成绩")
	fmt.Println("3--------增加学生信息")
	fmt.Println("4--------删除学生信息")
	fmt.Println("5--------修改学生信息")
	fmt.Println("6--------查询某一科的成绩排名")
	fmt.Println("7--------查询某一科学生的各科成绩")
	fmt.Println("8--------查看所有不及格科目超过两科的学生名单")
	fmt.Println("9--------查看当前所有学生成绩名单")
	fmt.Println("0--------退出")
	fmt.Print("请输入你的选择：")
	fmt.Scan(&a)
	for a!=0{
		switch a{
			case 1:														//1-录入学生的基本信息 
				head = creat()								
			case 2:														//2-录入学生的单科成绩
				head = luru(head)
			case 3:														//3-增加学生基本信息 
				zengjia(head)
			case 4:														//4-删除学生基本信息			
				head = shanchu(head)
			case 5:														//5-修改学生基本信息 
				head = xiugai(head)
			case 6:														//6-查询某一科的成绩排名 
				cxpaiming(head)
			case 7:														//7-查询某一学生的各科成绩
				chaxunchengji(head)
			case 8:														//8-查看所有不及格科目超过两科的学生名单 
				bujige(head)
			case 9:														//9-查看当前所有学生成绩名单
				put(head)
			default:
				fmt.Println("错误！")
		}
		fmt.Println("欢迎使用我的学生成绩管理系统")
		fmt.Println("1--------录入学生基本信息")
		fmt.Println("1--------录入学生单科成绩")
		fmt.Println("3--------增加学生信息")
		fmt.Println("4--------删除学生信息")
		fmt.Println("5--------修改学生信息")
		fmt.Println("6--------查询某一科的成绩排名")
		fmt.Println("7--------查询某一科学生的各科成绩")
		fmt.Println("8--------查看当前所有学生成绩名单")
		fmt.Println("9--------查看所有不及格科目超过两科的学生名单")
		fmt.Println("0--------退出")
		fmt.Print("请输入你的选择：")
		fmt.Scan(&a)
	}
	fmt.Println("谢谢！")
}